#include<iostream>
using namespace std;
namespace lj
{
	template<class T>
	class less
	{
	public:
		bool operator()(const T& x, const T& y)
		{
			return x < y;
		}
	};
	template<class T>
	class greater
	{
	public:
		bool operator()(const T& x, const T& y)
		{
			return x > y;
		}
	};
}
int main()
{
	lj::greater<int> greaterFunc;
	cout << greaterFunc(1, 2) << endl;
	greaterFunc.operator()(3, 4);
	lj::less<int> lessFunc;
	cout << lessFunc(1, 2) << endl;
	lessFunc.operator()(1, 2);
	int a = 0;
	return 0;
}